home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / comm / bbs / Cit_exec_7H21.lha / 68k.man next >
Text File  |  1996-10-14  |  68KB  |  1,342 lines

  1. Citadel-68K System Related Notes
  2. ---------------------------------
  3.  
  4.    The Citadel-86 documentation is generally applicable to Citadel-68K for
  5. the Amiga.  However, there are some features which the Citadel-68k
  6. do not supported, Some will eventually be worked on, and other may never
  7. get done.
  8.  
  9.    In general you can get help on Citadel 68K by calling one of the following
  10. Citadels:
  11.  
  12.    The Amiga Zone:  609-953-8159
  13.    Images           612-884-7951
  14.    C-86 Test System 612-470-9635
  15.  
  16. You also can call most any local Citadel and post messages in the Citadel 68K
  17. room or the Amiga room.  Both rooms are netted to the Amiga Zone and will
  18. eventually reach me.  I have spent a fair amount of time on this document,
  19. cannot guarentee everything...  If you find an error, please let me know.
  20.  
  21. I suggest that if you are thinking of starting a Citadel BBS, you should
  22. first become familar with a local sysop of a Citadel BBS.  Next, get a
  23. separate phone line for the BBS alone.  If you run a BBS and it is not a
  24. 24 Hour BBS, you will find few callers.  Next, decide what kind of theme
  25. your BBS will have.  A theme will attract callers.  Now, you need to see
  26. if you have the resources to run a BBS.  I have seen big systems and small
  27. run Citadel.  2 floppies plus 512K is barely enough to survive.  Since the
  28. Amiga multitasks, you can do other things while the BBS is running.  I
  29. would recommend a minimum of 1 megabyte of memory plus at least 3 floppies
  30. or a hard drive.  You can run a Citadel on less, but probably will not
  31. last long with only a few messages and rooms.  I would recommend 2 MB of
  32. memory and a 20 MB HD to most Citadels as the "normal" configuration.  I
  33. have 7 MB of RAM and 110 MB of Hard drive.  The more memory the better, I
  34. get problem reports from people with the "minimum" RAM that I truely think
  35. are due to lack of memory.  Also, while Citadel is compatible with 1.3
  36. and beyond, I run with 2.1 AmigaDos and there have been reports of problems
  37. with external program(protocols, doors) with 1.3 based systems.
  38.  
  39. Lastly, get the lastest Citadel, Documenation files and spend about a week
  40. reading this and the other Citadel documenation.  You will be confuse and
  41. probably will not understand most of it.  Now take the ctdlcnfg.sys from
  42. the archive(if you did not find one in your archive, get the real thing
  43. from one of the systems above) and change the appropriate parameters.
  44. The file is called "examples.sys" so that existing sysops do not clobber
  45. their current setup.
  46.  
  47. Set things up and go on the air.  Once you have had a few callers, been
  48. working on your BBS and feel confortable with it's operation, check with
  49. local citadel sysops and connect up to the network.  You will have to find
  50. out who is the "local feed" in your area, just ask any sysop.  Make your
  51. arrangements and changes to the ctdlcnfg.sys and you will be connected
  52. coast to coast.  I suggest that you make an attempt to get the Amiga and
  53. Citadel 68K rooms shared with your system.  I and other Sysops will post
  54. information on upgrades and problems.  Remember, Every Sysop was in your
  55. shoes at one time or another.  We all started out the same way.  We are
  56. all pretty much a friendly bunch(no matter how much we argue on the net!)
  57. and are glad to help.  When you connect up to either room, place what
  58. is called a seed message telling everyone who you are,where you are
  59. located, and your Node ID.  You might be surprised who might give you a
  60. call(me for one!)....  Good Luck!
  61.  
  62. INSTALL3.MAN
  63. ------------
  64.  o Later on in this manual is a list of some of the parameters that you
  65.    can control.  All the configuration parameters are documented either in
  66.    the INSTALL3.MAN or later in here.
  67.  o Ignore all references to the EASE utility.  Currently, the only Amiga
  68.    Ease program that exists does not work.  It has been given low priority
  69.    over other things.  Eventually, I will get to it.
  70.  
  71.  o Ignore references to supported machines and operating systems.
  72.    Citadel-68k is for the Amiga line of products.
  73.  
  74.  o Ignore references to DOS configuration.  INSTEAD -- you must make sure
  75.    you have STACK 8192 in your Amiga setup.  Citadel requires it.  It
  76.    really only uses about 3K, but this is to be safe.
  77.  
  78.  o Section II.6.b -- when specifying directories for system data files (like
  79.    #MSGAREA, etc.), you may use either relative or absolute directory
  80.    specifications, rather than being constricted to subdirectories of the
  81.    current directory.
  82.  
  83.  o Parameters not supported in Citadel 68K
  84.  
  85.    #IBM                 #COM           #OLDVIDEO
  86.    #FOREGROUND          #BACKGROUND    #STATUS-FOREGROUND
  87.    #STATUS-BACKGROUND   #SEARCHBAUD
  88.  
  89.  o Ignore Sections II.10.b, II.10.c, II.10.d.1, II.10.e, and
  90.    Section III.
  91.  
  92. OPER3.MAN
  93. ---------
  94.  o Section VIII.4 (File Transfers while in Chat Mode) references the PC's
  95.    PG UP and PG DN keys as primary methods to download and upload in chat.
  96.    Since the Amiga has no such keys, you must use the alternative described
  97.    -- CTRL-E for Uploads, CTRL-F for downloads -- if you use Citadel for
  98.    BBSing at all.  Performance in Chat mode is not good when calling other
  99.    bulletin boards.  I recommend you use something like terminus instead.
  100.  
  101.  o Section VIII.7 is not correct for the Amiga.
  102.  
  103.  o Section XII (Outside Editor) is implemented but works a little oddly.
  104.    If you are using an editor like TURBOTEXT that will release the starting
  105.    process, it will not work correctly.  With TURBOTEXT, use the commands
  106.  
  107.    #EDITOR "TTX WAIT"
  108.    #EDIT-AREA "CIT:temp/"
  109.  
  110.    This way it will hold up the process and CTDL will be able to get the
  111.    file AFTER you changed it.  Without the "WAIT"  it does not work correctly.
  112.  
  113.  o The Multiple banners seems to confuse the budding sysop.  Here is how it
  114.    works.  If you create a directory called BANNERS, Citadel will look for
  115.    the NOTICE, LONOTICE, BANNER, and NOCHAT banners in that directory first,
  116.    and if it does not find one there, it will use the default banner from
  117.    the helps area.  The banners display as follows:
  118.  
  119.      -- Carrier is detected --
  120.        Display Banner.PRE          <-- only one of these in helps area
  121.        Display Banner.BLB or .NN   <-- If .NN exists else do .BLB
  122.  
  123.      -- User Login --
  124.        Display Notice.PRE          <-- only one of these in helps area
  125.        Display Notice.BLB or .NN   <-- If .NN exists else do .BLB
  126.        Display Notice.SFX          <-- only one of these in helps area
  127.  
  128.      -- User Logout --
  129.        Display LoNotice.PRE          <-- only one of these in helps area
  130.        Display LoNotice.BLB or .NN   <-- If .NN exists else do .BLB
  131.        Display LoNotice.SFX          <-- only one of these in helps area
  132.  
  133.    In addition to these banners, the NOCHAT.BLB can be replaced with the
  134.    appropriate NOCHAT.NN for when chat is disabled.
  135.  
  136. OTHER NOTES
  137. -----------
  138.  o The Read forward command has two parameters which may be substituted
  139.    for the date.  These are YESTERDAY and TODAY.  The commands would look
  140.    like:
  141.  
  142.    .RF TODAY or .RF YESTERDAY
  143.  
  144.    Also instead of the date(i.e. 92APR02), you may specify the number of
  145.    days to go back with:
  146.  
  147.    .RF 5     <-- Read forward from 5 days ago.
  148.  
  149.  o There is an AREXX port in Amiga Citadel.  The AREXX capabilities of
  150.    Amiga Citadel are limited to execution of simple instructions.  The
  151.    port name of the program is "Citadel68K".  These instructions are as
  152.    follows:
  153.  
  154.      "setchat" 0/1          -- disables(0)/enables(1) chat mode
  155.      "setecho" 0/1          -- disables(0)/enables(1) echo mode
  156.      "setnouserdisable" 0/1 -- disables(0)/enables(1) Call Sysop flag
  157.      "exit" 0/1             -- forces CTDL to exit with 1 bypassing
  158.                                protection to keep from kicking off users.
  159.                                If a user and a 0, will not terminate CTDL
  160.                                "version" -- returns version of program
  161.      "serialenable" 0/1 0/1 -- disables(0)/enables(1) the serial.device
  162.                                with the second parameter determining if
  163.                                there is protection to prevent a user from
  164.                                terminated.
  165.                                This closes the serial port, Citadel operates
  166.                                Normally.
  167.      "version"              -- returns the Citadel Version ID.  Why we need
  168.                                this I don't know...
  169.      "openconsole"  0/1     -- 0 and Console open,   then close it.
  170.                                0 and Console iconified, then ignore it.
  171.                                1 and Console open,   then ignore it.
  172.                                1 and Console iconified, then open it.
  173.                                if console is open a return value of 1
  174.                                else 0 as a result.
  175.      "iconify"  0/1         -- 0 and Console iconified, then open it.
  176.                                0 and Console open, then ignore it.
  177.                                1 and Console open,   then iconify it.
  178.                                1 and Console iconified, then ignore it.
  179.  
  180.    I plan to add other AREXX commands to Citadel 68K as people request
  181.    them(if they are possible to do).
  182.  
  183.  o There are Amiga Specific commands in Ctdlcnfg.sys.  These are:
  184.  
  185.    #WBENCHWINDOW -- Placing this in the file tells ctdl to open a window on
  186.    the workbench screen rather than create a new screen.  The next two
  187.    paramaters work differently based on the presence or absence of this
  188.    paramater.
  189.  
  190.    #SCREENWIDTH n -- Describes the width of the screen when a new screen is
  191.    created.  Otherwise it describes the width of the window created by the
  192.    program on the workbench screen.
  193.  
  194.    #SCREENHEIGHT n -- Describes the height of the screen when a new screen
  195.    is created.  Otherwise it describes the height of the window created by
  196.    the program on the workbench screen.
  197.  
  198.    #SCREENCOLOR0 n -- The background color (pen 0) of the screen that ctdl
  199.    opens.  This is the RGB value broken down in binary expressed as a
  200.    decimal number.  This number is created by the pattern 0000rrrrggggbbbb.
  201.    Example Red Intensity 8 is 2048.
  202.  
  203.    #SCREENCOLOR1 n -- The foreground color (pen 1) of the screen that ctdl
  204.    opens.  This number works the same as screencolor0.
  205.  
  206.    #DISABLEEHO -- if this parameter is present, console echo will be
  207.    disabled upon startup of ctdl.
  208.  
  209.    #DIRECTTOCHIP -- if this parameter is present, serial output will be
  210.    directed directly to the chip that handles serial I/O, bypassing the
  211.    serial.device.  This should work for all systems and is only a selection
  212.    because of choice.
  213.  
  214.  
  215.  System Setup:
  216.  
  217.    The following files are mentioned in the other manuals, this is just a
  218.    summary for the budding sysop.  These files are created by CONFG unless
  219.    otherwise noted.  Some you will create to add features to Citadel.
  220.  
  221.       o CTDLMSG.SYS.   This file contains all the messages in the system.
  222.       o CTDLROOM.SYS.  This file contains information about the rooms in your
  223.                        system.  The size of this file is given later in this
  224.                        manual.
  225.       o CTDLLOG.SYS.   This file contains all the accounts for users on your
  226.                        system.  The size of this file is given later in this
  227.                        manual.
  228.       o CTDLNET.SYS.   This file, if it exists, will be 0 bytes long when
  229.                        initially generated by CONFG.EXE.
  230.       o CTDLFLR.SYS.   This file contains information about the floors in your
  231.                        system.  This is the only file of this group is not
  232.                        static; it grows as you add floors to your system.
  233.                        Don't panic, though.  Each floor only takes 21 bytes.
  234.  
  235.       o CTDLARCH.SYS.  This file contains data about auto-archiving of rooms
  236.                        (an advanced topic to be covered under day-to-day
  237.                        operations).
  238.       o CTDLNET.SYS.   This file, created by CONFG, will be expanded by
  239.                        CTDL if you are participating in a network.
  240.       o CALLLOG.SYS.   This file, an optional text file, is updated as each
  241.                        caller hangs up.  This will be placed in the #CALLAREA
  242.       o CTDLDIR.SYS.   This file contains data about the directory rooms on
  243.                        your system, specifically the name of the DOS directory
  244.                        associated with each directory room on your system.
  245.   Optional items
  246.  
  247.     I will not say too much about these since they are optional and not needed
  248.     to startup your system.  They are covered in detail in the other manuals.
  249.  
  250.       o CTDLPROT.SYS   If this file exists, it contains information about
  251.                        external protocols.  To get Zmodem for example, you
  252.                        need to file a Zmodem program(See P340.lzh) and add
  253.                        the information to this file.
  254.       o RESULTS.SYS    This file specifies your modems response codes.  You
  255.                        really should have one of these that looks something
  256.                        like:
  257.  
  258.                        #result-300 Connect 300
  259.                        #result-1200 Connect 1200
  260.                        #result-2400 Connect 2400
  261.                        #result-9600 Connect 9600
  262.                        #no-dialtone No Dialtone
  263.                        #no-carrier No Carrier
  264.                        #ok OK
  265.                        #error Error
  266.                        #voice Voice
  267.                        #busy Busy
  268.                        #ring Ring
  269.  
  270.                        Without this file, CTDL will work, but you get
  271.                        improved performance with it.  You can cut this section
  272.                        out of this file, remove the leading spaces and use
  273.                        it as is.  The "#" start in col 1.
  274.                        See the sample file in the archive for an example
  275.                        that is compatible with the USRobotics 28.8K modem.
  276.  
  277.                        In addition, if your modem is very different, then
  278.                        you should add a +result to the command line (or
  279.                        a +CID which is for collection of caller ID info if
  280.                        the modem supports it).  Here is an example of what
  281.                        shows up in your debug.sys file in the #auditarea.  If
  282.                        your results string is not recognized, then you will
  283.                        have a "FAILURE to find in RESULTS.SYS:" followed by
  284.                        the results string you modem returned.
  285.                        You can always add new results codes to the RESULTS.SYS
  286.                        file.  Note, Citadel will not see the changes until
  287.                        you bring it down and up again.
  288.  
  289.                        An example of the debug.sys file
  290.                        CID:RING
  291.                        CID:RING
  292.                        CID:CONNECT 9600/ARQ/V32/MNP/MNP5
  293.                        CID:RING
  294.                        CID:RING
  295.                        FAILURE to find in RESULTS.SYS:CONNECT 14400/ARQ/V32/LAPM/V42BIS
  296.  
  297.                        Note, I have my S0 set to 2 rings...
  298.  
  299.   CONFG PARAMETERS:
  300.  
  301.      To setup a Citadel, you have to create a file called CTDLCNFG.SYS.  It
  302.      is read by CONFG and all the other files are created.  The most confusing
  303.      part of being a sysop is setting up this file.  The parameters here are
  304.      explained in enough detail so you can setup your system.  Use the example
  305.      file in the archive to setup all the details.
  306.  
  307.      #nodeTitle  "<title>"
  308.  
  309.                   The first parameter you should find is called nodeTitle.
  310.                   It is a string value that obeys formatting directives,
  311.                   and is subject to formatting considerations.  nodeTitle
  312.                   is the title of your installation that is printed when
  313.                   is detected on your system.  More precisely, nodeTitle
  314.                   will show up in the following place on your system:
  315.  
  316.       Welcome to <title>
  317.        Running ...
  318.  
  319.                   However, nodeTitle may not necessarily be printed at
  320.                   this point, because if a help file named BANNER.BLB
  321.                   exists on your system, it will be printed in place of
  322.                   the "Welcome to <nodeTitle>" part.
  323.      EXAMPLE:
  324.  
  325.      #nodeTitle "Test System\n Truly a Heaven in Reverse"
  326.  
  327.                   The #nodeTitle is printed out on .Read Status commands,
  328.                   also.  There is no formal limit on the length of this
  329.                   parameter, but you should definitely use BANNER.BLB for
  330.                   long #nodeTitles, or to vary it easily.
  331.  
  332.      #nodeName  "<nodename>"
  333.  
  334.                   nodeName is, in reality, purely a network parameter,
  335.                   and if you have no plans to ever join a C86net, then
  336.                   there is no need to fill in this parameter.  However,
  337.                   it has always been traditional, even before there was
  338.                   a net for any Citadel system anywhere, to fill in this
  339.                   and the next parameter (and, so, sentimentally we feel
  340.                   this belongs in this Miscellaneous section).   nodeName
  341.                   is a string value which does NOT accept formatting directives
  342.                   (i.e., formatting directives will be ignored).  It can
  343.                   be no longer than 19 letters long.  It should be a short,
  344.                   mnemonic name for your system.  An EXAMPLE of a reasonable
  345.                   value:
  346.  
  347.      #nodeName "ODD-DATA"
  348.  
  349.                   If you ever do join a C86net, messages from your system
  350.                   appearing on another Citadel node of that net will look
  351.                   something like this:
  352.  
  353.         82Nov23 from Cynbe ru Taren @ODD-DATA
  354.  
  355.                   except that ODD-DATA would be replaced with your value
  356.                   for #nodeName.
  357.  
  358.      #nodeId
  359.  
  360.                  As mentioned, this parameter is a network parameter that
  361.                  has traditionally always been set, even for non-network
  362.                  Citadels.  If you have no plans to ever be on a C86net,
  363.                  then you don't have to set this string value parameter
  364.                  to anything important.  If you do plan to join one, though,
  365.                  (we'll go over this in more detail in the section on the
  366.                  network), then you do have to set this parameter correctly.
  367.                  The format of this parameter is
  368.  
  369.           "<Country code><Area Code><Phone number>"
  370.  
  371.                  all of which applies to the phone that your system resides
  372.                  on.  Country code is a two letter sequence indicating
  373.                  what country you live in (US is the United States, CA
  374.                  is Canada.   Area code is the area code of your system
  375.                  (yes, we are aware that there is a clear bias towards
  376.                  US-style telephony).  And Phone number is, of course,
  377.                  the phone number that your system is on.  You can put
  378.                  punctuation (such as parenthesis and dashes), but please
  379.                  be conservative with them.  This string value does not
  380.                  obey formatting directives.  Here's a fairly generic
  381.                  example:
  382.  
  383.    #nodeId "US (609) 953 8159"
  384.  
  385.    #baseRoom  "<firstRoom>"
  386.  
  387.                  OK, now we're into parameters that you must have set,
  388.                  starting with baseRoom.  Citadel always has a minimum
  389.                  of three rooms, the Aide> room for housekeeping, the Mail>
  390.                  room for private correspondence, and the <baseRoom>, which
  391.                  is the room that a caller is always initially placed in.
  392.                  (Historical note: the old CP/M Citadel called this room
  393.                  the Lobby>; we've only made the name of the Lobby> selectable
  394.                  by the sysop.)  This parameter is a string value that
  395.                  obeys formatting directives and goes through the Citadel
  396.                  formatter, and you must limit yourself to 19 characters
  397.                  or less for this value. And one more note, Citadel will
  398.                  append the '>' to this name when it prints the room prompt
  399.                  for this room, you don't have to put it in yourself. If
  400.                  you wished to emulate the old CP/M Citadel, you'd set
  401.                  baseRoom thus:
  402.  
  403.      #baseRoom "Lobby"
  404.  
  405.                  There is no default for this parameter.
  406.  
  407.      #MainFloor
  408.  
  409.                  MainFloor is analogous to #baseRoom.  Any Citadel has
  410.                  a base floor, just as it has an Aide> room, etc.  This
  411.                  parameter allows you to name this base floor.  This parameter
  412.                  is a string value which cannot be longer than 19 characters,
  413.                  and specifies the name of your base floor.  So, if you
  414.                  want to name your base floor MAIN FLOOR, you'd have
  415.  
  416.      #MainFloor "MAIN FLOOR"
  417.  
  418.                  There is no default value for this parameter.
  419.  
  420.      #CRYPTSEED  <number>
  421.                  Citadel automatically encrypts all sensitive data files.
  422.                  While the algorithm used can, of course, be broken by
  423.                  the determined, particularly since the code is available
  424.                  for perusal, the encryption does provide protection against
  425.                  casual eyes, mistakes, and amateur system breakers.  We
  426.                  do encourage you to take precautions of your own, such
  427.                  as not opening directory rooms that look at sensitive data.
  428.                  Encryption can be disabled if you specify a value of zero.
  429.                  You may use any value 0-65536.  Using no encryption will
  430.                  be faster.  There is little reason to encrypt your files,
  431.                  if you let anyone have you ctdltabl.sys file, they can get
  432.                  the encryption key so this is really not much of a security
  433.                  feature...
  434.  
  435.                  CRYPTSEED is an encryption seed that Citadel uses to encrypt
  436.                  your data; if someone should acquire of all of your data
  437.                  files but for CTDLCNFG.SYS, then they still won't have
  438.                  access to your system until they figure out what your
  439.                  CRYPTSEED is.  DON'T EVER CHANGE THIS VALUE WHILE RUNNING
  440.                  A CITADEL, OR EVERYTHING WILL BECOME MESSED UP!  If you
  441.                  are rebuilding your system from scratch, you may change
  442.                  the value at that time.  An example:
  443.  
  444.      #CRYPTSEED    69
  445.  
  446.      #MESSAGEK   <size in K>
  447.  
  448.                  MESSAGEK defines how much disk space you wish to allocate
  449.                  for messages on your installation.  There is no way to
  450.                  define how many messages you want in your system, or how
  451.                  fast they turnover.  All the messages in your system will
  452.                  reside in CTDLMSG.SYS, and thus the number of messages
  453.                  in your system at any given moment will depend on the
  454.                  length of the messages being entered into the system by
  455.                  your users.  The turnover rate of your messages  will
  456.                  depend on how busy your system is.  As an example, Test
  457.                  System has a 611K message base, which holds 2100 messages
  458.                  +/- 300, of which some are of fairly good length.  Turnover
  459.                  seems to between 3 weeks and a month, since 80-160 messages
  460.                  are entered a day.  However, Test System is also a busy
  461.                  system.
  462.  
  463.                  The sysop of an installation should also keep in mind
  464.                  that very large systems, with many new messages, can be
  465.                  intimidating to new users, so large message spaces should
  466.                  be approached with caution.  Remember, there is a utility
  467.                  for expanding the message base, but not for shrinking it.
  468.  
  469.                  This is a numerical value which you specify in 'K', which
  470.                  is actually 1024 bytes/K.  So, for example, to specify
  471.                  a 250K message file.
  472.  
  473.      #MESSAGEK 250               -- 250K message base
  474.  
  475.      #MSG-SLOTS
  476.                  This numerical parameter specifies how many messages per
  477.                  room will be used on this system (the lone exception is
  478.                  the Mail>, which is covered by the following parameter).
  479.                  If you wanted to use Citadel's traditional number of messages
  480.                  per room, you'd have
  481.  
  482.      #MSG-SLOTS 58
  483.  
  484.      #MAIL-SLOTS
  485.  
  486.                  This is a numerical parameter specifying how many messages
  487.                  per log record that you wish to reserve for Mail.  The
  488.                  Mail> room is the only room in the system whose data is
  489.                  not kept in CTDLROOM.SYS.  Instead, the file CTDLLOG.SYS
  490.                  contains the "Mail>" room, reserving for each account
  491.                  enough room for MAIL-SLOTS Mail messages.  Therefore,
  492.                  this parameter gives you the ability to decide the maximum
  493.                  number of Mail> messages per user that they can access.
  494.                  Please remember that if a user gets more messages in Mail>
  495.                  than there are MAIL-SLOTS between two successive logins,
  496.                  then they will lose the earlier messages sent to them.
  497.                  Another consideration is that many users like to review
  498.                  old Mail when engaged in an in-depth private conversation.
  499.                  Therefore, setting MAIL-SLOTS to a low value may not be
  500.                  the attractive alternative that it first seems.  However,
  501.                  it should go without saying a high MAIL-SLOTS value may
  502.                  eat up more room than necessary on your drives.  The section
  503.                  on LOGSIZE will give an exact formula for how much space
  504.                  your log will take up.  Example:
  505.  
  506.      #MAIL-SLOTS 58
  507.  
  508.      #MAXROOMS
  509.  
  510.                  This numerical parameter specifies the maximum number
  511.                  of rooms your system will support.  Since the baseRoom,
  512.                  Aide>, and Mail> room are necessary, the smallest value
  513.                  you can give is 3.  The largest number is 65536 (probably).
  514.                  If you wanted to have a 64 room system, you'd have
  515.  
  516.      #MAXROOMS 64
  517.  
  518.                  You can use the following formula to estimate the number
  519.                  of bytes a room file will take up on your system:
  520.  
  521.                  # of bytes = MAXROOMS * (50 + (6 * MSG-SLOTS))
  522.  
  523.      #LOGSIZE
  524.  
  525.                  This numerical parameter gives you, the sysop, the ability
  526.                  to decide how many accounts will be available on your
  527.                  system.  If you run a system in which more accounts are
  528.                  used than there are accounts reserved, then new accounts
  529.                  are generated by killing old accounts.  The account that
  530.                  will be replaced with the new account is that account
  531.                  which has not been used in the longest time (in other
  532.                  words, accounts that are not used will be the first to
  533.                  be killed).
  534.  
  535.                  All space is reserved immediately for these accounts.
  536.                  The size of this file can be estimated from the formula:
  537.  
  538.                  # of bytes = LOGSIZE * (82 + MAXROOMS + (6 * MAIL-SLOTS))
  539.  
  540.                  so if you are operating in a restricted environment, plan
  541.                  accordingly.  If you need to, you can expand the size
  542.                  of the log through the use of the DATACHNG utility, but
  543.                  the log cannot be shrunk.  This is a numerical value.
  544.                  Here is an example:
  545.  
  546.      #LOGSIZE 180
  547.  
  548.      Now we discuss where you want the data files to be located on your
  549.      system.  These parameters are all specified in the same way, as a
  550.      string value (which does not obey  formatting directives, naturally)
  551.      that tells Citadel where on your system the given data file or files
  552.      associated with the given parameter is located. Simply use either
  553.      a relative directory specification or a full pathname. So, some sample
  554.      valid specifications would  be "c:", "a:system", b:msgs", and "i:bark".
  555.  
  556.         If CONFG cannot find the directory that you specify, it will
  557.         attempt to create that directory, after asking permission.
  558.  
  559.      #HELPAREA "cit:helps"
  560.  
  561.                  This parameter specifies where all of your Help files
  562.                  will be located.  These files are *.HLP, *.BLB, and *.MNU.
  563.                  Normally, you should create this directory and place the
  564.                  help files in the directory before bringing up Citadel,
  565.                  since help files are usually online at all times.  The
  566.                  Help files are maintained on Test System.  Ask any Citadel
  567.                  System where to find them.  I also have a set on the Amiga
  568.                  Zone.
  569.  
  570.      #LOGAREA "c:system"
  571.  
  572.                  This parameter specifies the location of your CTDLLOG.SYS
  573.                  file (this file is sized by your LOGSIZE parameter).
  574.  
  575.  
  576.      #ROOMAREA "system"
  577.  
  578.                 This parameter specifies the location of CTDLROOM.SYS,
  579.                 CTDLARCH.SYS,  and CTDLDIR.SYS.
  580.  
  581.      #MSGAREA "c:msg"
  582.  
  583.                 This parameter specifies the location of CTDLMSG.SYS.
  584.  
  585.      #FLOORAREA "floors"
  586.  
  587.                 This parameter specifies the location of CTDLFLR.SYS.
  588.  
  589.      #AIDESEEALL
  590.  
  591.                 This parameter is a toggle that gives you some power over
  592.                 the scope of your aides' "vision".  If you set this parameter
  593.                 to 1, then your aides have access to all public AND private
  594.                 rooms (but not invite rooms, unless they have been invited).
  595.                 If this parameter is set to 0, then aides only have access
  596.                 to public rooms, plus those private and invite rooms that
  597.                 they've been invited to.  So, if you want your aides to
  598.                 see all public and private rooms, you would have
  599.  
  600.      #AIDESEEALL 1               -- See all but invite rooms
  601.  
  602.                 if you don't want your aides to be so nosy, then you'd have
  603.  
  604.      #AIDESEEALL 0               -- See only public rooms.
  605.  
  606.      #LOGINOK
  607.  
  608.                 The LOGINOK parameter controls whether your system is an
  609.                 "open" or "closed" system.  If you set LOGINOK to 1, the
  610.                 system will allow anyone to log in as a "new" user; that
  611.                 is, it will ask a caller who uses an unrecognized password
  612.                 if they wish to login as a new user.  If LOGINOK is set
  613.                 to 0, the system will simply tell the caller without a
  614.                 valid password that there is no record of that password,
  615.                 and that they should leave Mail> to the sysop; the only
  616.                 way to enter new users into the system is from the system
  617.                 console. If you want an open system, for example, you
  618.                 would have:
  619.  
  620.      #LOGINOK 1                  -- let the riff-raff in!
  621.  
  622.      #ENTEROK
  623.  
  624.                ENTEROK controls whether a caller who is not logged in can
  625.                enter messages or not.  If ENTEROK is 1, then a caller who
  626.                has not logged in can enter messages; if it is 0, then they
  627.                must log in first, except for Mail to the sysop.  Setting
  628.                ENTEROK to 0 can reduce vandalism; setting it to 1 gives
  629.                your callers the privilege of anonymity.
  630.  
  631.      #ENTEROK  0                 -- log in first, folks!
  632.  
  633.      #READOK
  634.                READOK controls whether an unlogged caller can read messages.
  635.                If READOK is 1, then they may.  If READOK is 0, then an
  636.                unlogged caller can only read the policy statement available
  637.                in the Mail> room (POLICY.HLP), and the help files.  Setting
  638.                READOK to 0 can discourage unwelcome callers from using
  639.                scarce system time.
  640.  
  641.      #READOK 0                   -- gotta login to read these gems...
  642.  
  643.      #ROOMOK
  644.                ROOMOK controls who can create new rooms on your system.
  645.                If ROOMOK is 1, then any logged in user of the system may
  646.                create new rooms.  If ROOMOK is 0, then only aides may create
  647.                new rooms on your system.
  648.  
  649.      #ROOMOK 1                   -- a liberal policy
  650.  
  651.      #ALLMAIL
  652.                ALLMAIL controls who can use the Mail> room.  If ALLMAIL
  653.                is 1, then any user may use Mail> to send private messages
  654.                to any other user on the system.  If ALLMAIL is 0, then
  655.                only Aides may use the Mail> room in a general manner; regular
  656.                folk can only use Mail> for messages to Sysop.  Setting
  657.                ALLMAIL to 0 may be appropriate on tightly focused systems
  658.                operating in a small environment.
  659.  
  660.      #ALLMAIL 1                  -- the normal policy
  661.  
  662.      #SYSBAUD
  663.  
  664.                The SYSBAUD parameter is used to tell Citadel what baud
  665.                rates your hardware will support.  Citadel cannot normally
  666.                be configured to run high baud rates while excluding lower
  667.                baud rates (i.e., operate correctly at 1200 baud but not
  668.                at 300 baud).  A value of 0 indicates that the system is
  669.                a 300 baud system, 1 indicates 300/1200, 2 indicates
  670.                300/1200/2400, 3 indicates 3/12/24/48, and 4 indicates
  671.                3/12/24/48/96.
  672.  
  673.     #SYSBAUD 1                  -- A 3/12 system.
  674.  
  675.     #SEARCHBAUD
  676.  
  677.                if you are a novice, we suggest setting this parameter to
  678.                1, even if you do have an internal hayes modem.  only play
  679.                with the searchbaud parameter after you have a CITADEL
  680.                installation that works correctly.
  681.  
  682.                The SEARCHBAUD parameter is used to tell Citadel how to
  683.                find the baud rate of the caller.  If the value of this
  684.                parameter is 1, then Citadel will search for the correct
  685.                baud rate by switching through each of the valid baud rates
  686.                for this installation, searching for a half second at each
  687.                baud rate for a carriage return from the caller.  If the
  688.                value of this parameter is 0, then Citadel assumes that
  689.                you have a failure-proof method of detecting the baud rate
  690.                of the caller.  Most modems today will handle the detection
  691.                of the baud rate and send a result code.
  692.  
  693.      #SEARCHBAUD 1               -- Normal setting
  694.  
  695.      #modemSetup
  696.  
  697.                This parameter is used to initialize your modem.  It is
  698.                a string value parameter that obeys the formatting directives;
  699.                however, you should be warned that Citadel automatically
  700.                appends a "\r" to the end of this string before sending
  701.                it to the modem. And when is modemSetup sent to the modem?
  702.                It is automatically sent twice while Citadel is initializing,
  703.                and it will also be automatically sent to the modem whenever
  704.                the <R>einitialize command is selected from the Sysop Menu (
  705.                i.e. privileged function:).
  706.  
  707.                The value that you use for this string should cause the
  708.                modem to be put into a mode where it will function suitably
  709.                with Citadel.  This includes auto-answer and response to
  710.                DTR, at the very least.  Other options that you may wish
  711.                to consider include turning the modem speaker off (if you
  712.                have one); consult your modem manual for details.  The example
  713.                we have here is biased towards Hayes/compatible modems.
  714.                You may have to do some research if you're using an odd
  715.                modem.  Our example turns auto-answer on and turns off the
  716.                speaker on a Hayes modem; note the lack of "\r".
  717.  
  718.      #modemSetup "AT S0=1 M0"           -- Surely an exercise in aesthetics...
  719.  
  720.      #event <days> <time> <class> <type> <duration> <warning string> <depends>
  721.  
  722.                This is what we're calling a "time-driven event-handler",
  723.                which we're going to define as the ability to cause Citadel
  724.                to do certain things at times that you specify.  So, for
  725.                instance, you can have the system come down at certain times
  726.                of the day to back itself up, or have it go into networking
  727.                mode several times a week -- or several times a day.  Or
  728.                do whatever your imagination suggests.  Any number of these
  729.                #event parameters may appear in your CTDLCNFG.SYS file.
  730.  
  731.                Here is an explanation of each parameter field in the above
  732.                statement.
  733.                <days> can be any of the values "Mon", "Tue", "Wed", "Thu", "
  734.                Fri", "Sat", "Sun", or "All", or any combination of the
  735.                first seven.  If used in combination, separate each with
  736.                a ',', but NO spaces are allowed.  This part of #event is
  737.                used to specify on what days this event is to take place.
  738.                So, if you want something to happen only on Wednesdays and
  739.                Saturdays, then you'd have
  740.  
  741.      #event Wed,Sat ....
  742.  
  743.                The 'All' value means, of course, all days of the week.
  744.  
  745.                <time> is the military specification of what time of day
  746.                this event is supposed to happen (unless the class of this
  747.                event is 'relative' -- see below).  For instance, 11 AM
  748.                would be:
  749.  
  750.      #event .... 11:00 ....
  751.  
  752.                while 11 PM would be:
  753.  
  754.      #event .... 23:00 ....
  755.  
  756.               and 12:30 AM would be:
  757.  
  758.      #event .... 00:30 ....
  759.  
  760.               Only one time can be specified in this field.  If you need
  761.               the same event to happen at multiple times, then use separate #
  762.               event entries.
  763.  
  764.               <class> indicates the class of the event, which is roughly
  765.               what kind of event it will be.  Citadel supports four classes
  766.               of events at this time:
  767.  
  768.               'network' -- this indicates that Citadel should drop into
  769.               networking mode on the day(s) at the time indicated by the
  770.               <days> and <time> fields.
  771.  
  772.               'external' -- this indicates that Citadel should come down
  773.               on the day(s) at the time specified by the <days> and <time>
  774.               fields.  The ERRORLEVEL that Citadel should generate when
  775.               it comes down will be discussed later in the subsection on
  776.               the <depends> field.  This class should be used in conjunction
  777.               with a carefully written batch file.
  778.  
  779.               'relative' -- this indicates that Citadel should come down
  780.               X minutes after it has come up (this is used to replace the
  781.               TIMEOUT and HOUROUT parameters).
  782.  
  783.               The number of minutes should be expressed in the <time> field;
  784.               the <days> field has no meaning (although it must be filled
  785.               in) when class is 'relative'.  The ERRORLEVEL to be generated
  786.               by Citadel when it comes down will be discussed later, but
  787.               for now we'll state that it occupies the <depends> field.
  788.               For instance, if you want your system to come down 6 hours
  789.               after it comes up, do something, and then come back up (at
  790.               which point you should realize it'll come back down again
  791.               6 hours after that, unless another event comes first), you
  792.               would have an event like:
  793.  
  794.      #event Sat 6:00 relative .... 7
  795.  
  796.               in your CTDLCNFG.SYS (note that Sat is meaningless, but some
  797.               valid value for the field has to be there).
  798.  
  799.               'dl-time' -- This indicates that a "download time limit"
  800.               should be activated.  This was a recent addition to the #event
  801.               handler, and is thus a patch rather than a full-scale addition;
  802.               to truly implement a download time limit would probably require
  803.               a Major Release.  When this class of event is active, the
  804.               total amount of time a user may use in downloads during a
  805.               session is limited by the value in the <depends> field, which
  806.               is designated in MINUTES.  This class value should only be
  807.               used with the 'quiet' type (see below).  When this event
  808.               ends, download time limits return to an unlimited status
  809.               automatically.
  810.  
  811.               <type> defines what type of event this will be, which essentially
  812.               means how Citadel reacts when the event time comes around.
  813.               There are two types of events supported at this time:
  814.  
  815.               'preempt' -- this indicates that when it's time for this
  816.               event to occur, the current user (if one is on) will be kicked
  817.               off the system.  A warning will be issued to the user 5 minutes
  818.               before the event is to occur (or if they call in after the
  819.               5 minute mark has passed, they will get the warning immediately).
  820.               This type should be used for events that MUST occur at a
  821.               given time, such as networking.
  822.  
  823.               'non-preempt' -- this indicates that the system is willing
  824.               to wait until the current user is off the system before executing
  825.               the current event.  If the time of the event is passed by,
  826.               the event will still be executed when the caller logs off.
  827.  
  828.               'quiet' -- this indicates that the event should occur with
  829.               no notice given to the user.  Currently, this only makes
  830.               sense with the 'dl-time' parameter, since there is no need
  831.               to bring the system down or drop into network mode to change
  832.               the dl-time limit.
  833.  
  834.               <duration> defines how long the event will last, in minutes.
  835.               If duration is 0, then if you happen to bring the system
  836.               up at the exact time that the event is to take place, the
  837.               event WON'T take place; for all other values of duration,
  838.               the event will take place. Duration should probably be 0
  839.               for external events that you only want to happen once, happen
  840.               quickly, and bring the system right back up, such as a backup
  841.               event in which your script file backs up the system and then
  842.               brings it back up.  This can go so fast that your system
  843.               will be back up in less than 1 minute, so you don't* want
  844.               duration set to 1 -- you want it at 0, otherwise the event
  845.               could be executed more than once.  However, for network events
  846.               you certainly want it set correctly.  A 45 minute network
  847.               event would look like this:
  848.  
  849.      #event ... ... network preempt 45 ....
  850.  
  851.              <warning string> is only valid for 'preempt' events.  It is
  852.              sent to the user for the warning and for the "you've been
  853.              kicked off" messages.  It should be enclosed in quotes.  Here's
  854.              what the messages look like:
  855.  
  856.      "<beep>WARNING: System going down at <time> for <warning string>."
  857.  
  858.      "<beep>Going to <warning string>, bye!"
  859.  
  860.              So, for networking,
  861.  
  862.      #event .... "networking" ...
  863.  
  864.              works just fine.
  865.  
  866.              <depends> is a parameter whose meaning depends on the class
  867.              of the event.  If the class of the event is 'external' or '
  868.              relative', then this value is the ERRORLEVEL that Citadel
  869.              is supposed to generate as it comes down, and should be used
  870.              in Script files for further processing.  The upper effective
  871.              limit on this parameter is whatever AmigaDOS allows in Script
  872.              files.  Before leaping into this, however, please review
  873.              the section on Script files in the Manuals, paying particular
  874.              attention to already-reserved ERRORLEVELS.
  875.  
  876.              If the class of this event is 'network', then <depends> specifies
  877.              what net(s) this network event is going to participate in.
  878.              While we are not going to discuss in detail what Citadel's "
  879.              multinet" capability is, here is a summary: Citadel supports
  880.              handling multiple C86nets.  Each network is identified by
  881.              a number; all of the nodes in your system can be associated
  882.              with 0 or more of these nets.  Thus, using the <depends> field
  883.              can allow you to network with certain systems at one time
  884.              and/or day, and other systems on other times and/or days.
  885.              The <depends> field must have at least one of the nets identified
  886.              here, and may have more if a particular network session is
  887.              servicing more than one network at a time.  If more than one
  888.              net is to be serviced, place a comma, and ONLY a comma, between
  889.              each net identifier. So, if you wanted to specify nets 1,
  890.              6, and 14, you'd have:
  891.  
  892.      #event .... 1,6,14
  893.  
  894.              If the class of the event is 'dl-time', then the depends field
  895.              specifies the maximum number of minutes that may be spent
  896.              in downloading during a single login while this event is in
  897.              effect.
  898.  
  899.              And that's it for the #event parameter(s).  We hope our
  900.              explanation is understandable; we sure had a hard enough time
  901.              writing it!
  902.  
  903.      #sysPassword
  904.  
  905.              This parameter gives you access to the Remote Sysop capabilities
  906.              of Citadel.
  907.  
  908.              A "Remote Sysop" is an Aide, not at the System Console, who
  909.              knows the Remote Sysop Password.  A Remote Sysop's capabilities
  910.              include complete access to the Sysop Menu (yes, including
  911.              such silly things as changing the Baud Rate ) and when editing
  912.              rooms the Remote Sysop can do what a normal Sysop can do.
  913.              A Remote Sysop gains access to the Sysop capabilities in exactly
  914.              the same way as a normal Sysop does, by sending a ^L to the
  915.              system -- but a Remote Sysop has to supply a password.
  916.  
  917.              This parameter, a string value that does not obey formatting
  918.              directives, does NOT (repeat NOT!) specify the Remote Sysop
  919.              Password.  Rather, it specifies the NAME of a file that contains,
  920.              on one line, the Remote Sysop Password (this allows you to
  921.              hide your Remote Sysop Password somewhere on your system).
  922.              This filename may specify any file anywhere on your system,
  923.              including different drives and subdirectories.
  924.  
  925.              The password itself must be at least 15 letters long, and
  926.              is, unlike most passwords, case-sensitive.  WARNING: If you
  927.              change the password in the file, you must run CONFG again (
  928.              CONFG ONLYPARAMS -- see the Section on Command Line parameters).
  929.  
  930.              If this parameter is not specified, or the file is not found,
  931.              then the Remote Sysop facility will not be available.
  932.  
  933.              This password should be protected to the maximum extent possible.
  934.              Major abuse is possible if some juvenile delinquent breaks two
  935.              passwords.
  936.  
  937.              However, if you insist on using this facility, and placed
  938.              your password in a file in a directory on partition G:, in a file
  939.              named PWD in a directory on the root called HIDING, you'd
  940.              have the following in your CTDLCNFG.SYS file.
  941.  
  942.      #sysPassword "g:hiding/pwd"
  943.  
  944.              At this point I would say something about security in general.
  945.              If you leave your system files, ctdlcnfg.sys and other things
  946.              directly available to your users, you run the risk of having
  947.              someone download them and effectivly hacking into your system
  948.              anytime they want.  It would take no longer than the download
  949.              and a run of a utility to know passwords of all your users and
  950.              create havoc on a board.  Please keep the files in a safe place
  951.              that is only accessable by the Sysop locally.  This is the first
  952.              commandment of Security!  Also do not give out AIDE privledges
  953.              lightly.  Make sure you can trust the person!
  954.  
  955.      #AUDITAREA
  956.  
  957.              This parameter is just like the MSGAREA, et al.  It is a string
  958.              value parameter that specifies a drive and directory which
  959.              will hold an audit file.  If this parameter is not present
  960.              in your CTDLCNFG.SYS file, then the audit file will not be
  961.              created or updated by Citadel.
  962.  
  963.              The audit file is known as CALLLOG.SYS.  It is a simple ASCII
  964.              text file that contains notes regarding system usage.  There
  965.              are only two types of notes.  The first lists when the system
  966.              has come up and down.
  967.  
  968.              The second type records who has called, listing login and
  969.              logout times, one line per person, in the following format:
  970.  
  971.      <person>   :   <login time> - <logout time> <baud rate>
  972.  
  973.              Occasionally such a line will have an extra character appended
  974.              onto it, and they have the following significance.
  975.  
  976.              '+'  Means that this user logged in as new.
  977.              '-'  Means that this user used .TS to logout.
  978.              'T'  Means that this user timed out on the system.
  979.              'E'  Means that this user hit the error limit on the system and was
  980.              kicked off.
  981.  
  982.              If you want to have a call log, you would have something like
  983.              this in your CTDLCNFG.SYS file:
  984.  
  985.      #AUDITAREA "audit"         -- This would be a subdirectory
  986.  
  987.      #MIRRORMSG
  988.              The structure of Citadel's message base causes frequent disk
  989.              access.  While this is not particularly deleterious for a
  990.              hard disk, this kind of activity has been known to actually
  991.              destroy floppy drives. Therefore, it makes sense to put the
  992.              message base into a RAM drive. However, this leaves systems
  993.              vulnerable to message base loss due to power failure. Because of
  994.              this, Citadel has the ability to support two identical message
  995.              bases at once.
  996.  
  997.              The first message base functions as the primary; messages
  998.              are written to and read from this base. This message base
  999.              is specified by the MSGAREA parameter.  The second message
  1000.              base, however, is subject only to writing, thus saving wear
  1001.              and tear on the media involved.  Since the primary message
  1002.              base (the one that is both written to and read from) is subject
  1003.              to a lot of wear and tear, this message base should be placed
  1004.              in a RAM disk. The MSGAREA parameter mentioned earlier specifies
  1005.              the area for the primary message base.  It is your responsibility
  1006.              to make sure that a copy of CTDLMSG.SYS is in the RAM disk
  1007.              when you bring Citadel up; Citadel will not do that for you.
  1008.  
  1009.              The secondary message base, since it is only written to, should
  1010.              reside on permanent media, such as a floppy.  The parameter
  1011.              MSG2AREA, a string value that does not respond to formatting
  1012.              directives, specifies the area where the secondary message
  1013.              base should reside.  Since both message bases are written
  1014.              to simultaneously, they should remain identical.
  1015.  
  1016.              If you wish to use this option, MIRRORMSG should be set to
  1017.              1; otherwise, it should be set to 0.  If MIRRORMSG is set
  1018.              to 1, then MSG2AREA should specify where the secondary message
  1019.              base should reside.  For instance:
  1020.  
  1021.      #MIRRORMSG 1                -- yeah, why not?
  1022.      #MSG2AREA "b:msg"           -- on floppy, of course
  1023.  
  1024.      #RESULT-300
  1025.      #RESULT-1200
  1026.      #RESULT-2400
  1027.      #RESULT-4800
  1028.      #RESULT-9600
  1029.      #RING
  1030.  
  1031.              Citadel has the ability to read the result codes from Hayes
  1032.              compatible modems and determine the baud connection of the
  1033.              modem from them.
  1034.  
  1035.              The #RESULT-xxxx parameters and the #RING parameter are string
  1036.              values which should contain the result codes your modem will
  1037.              return for the respective connections, while #RING is the
  1038.              result code for a RING.  Consult your modem for the exact
  1039.              values, since they vary from modem to modem.  You are also
  1040.              responsible for using the #modemSetup parameter to initialize
  1041.              your modem correctly for returning result codes.
  1042.  
  1043.              When Citadel is trying to use result codes to detect the baud
  1044.              rate of a caller, it proceeds by scanning the input for a
  1045.              C/R.  Once one is found, then the characters accumulated before
  1046.              the C/R are compared to your #RING value.  If they are identical,
  1047.              then all the characters are thrown away and Citadel looks
  1048.              for more result codes.  If #RING did not match, then the system
  1049.              will scan the various #RESULT-xxxx values that you specified,
  1050.              again looking for a match.  If one is found, then the respective
  1051.              baud rate is set and the system proceeds with login.  If a
  1052.              match is not found, then the system begins scanning for user-sent
  1053.              C/Rs in an attempt to find the baud rate.
  1054.  
  1055.              You do not need to specify values for baud rates your modem
  1056.              doesn't support, and we recommend that you do not.
  1057.  
  1058.              If you have your SEARCHBAUD parameter set to 0, then you should
  1059.              NOT use this option.
  1060.  
  1061.              Here is an example for a MultiTech MT224.
  1062.  
  1063.      #RESULT-300 "1"
  1064.      #RESULT-1200 "5"
  1065.      #RESULT-2400 "9"
  1066.      #RING "2"
  1067.  
  1068.              Earlier in this document is a copy of a typical RESULTS.SYS file
  1069.              which will work for most any Hayes compatible modem.
  1070.  
  1071.      #HOLDAREA
  1072.  
  1073.              Citadel has the optional capability to save messages that
  1074.              are inadvertently interrupted during composition by users
  1075.              for later completion.  The reason we say "optional" is that
  1076.              the method used to save such messages is to save them as files
  1077.              on disk, and in a restricted environment such an ability may
  1078.              not be desirable. Thus, this feature is only available on
  1079.              systems in which #HOLDAREA is defined.  #HOLDAREA is another
  1080.              directory specification, exactly like those of Section 1 of
  1081.              CTDLCNFG.SYS.  All messages that are interrupted will be stored
  1082.              there until the next time the user logs in.  These files are
  1083.              currently 7706 bytes long.
  1084.  
  1085.      #HOLDAREA "hold"
  1086.  
  1087.      #sysopName
  1088.  
  1089.              This parameter is used to tell your system who the sysop is.
  1090.              The only real effect of this parameter is that all Mail> to
  1091.              sysop is automatically routed to the account that you specify
  1092.              in this parameter's string value.  (This will also affect
  1093.              net Mail> to sysop.)  If you're not using this parameter,
  1094.              or the account does not exist, then Mail> to sysop will end
  1095.              up in the Aide> room.
  1096.  
  1097.      #sysopName "Me!"
  1098.  
  1099.      #NETWORK
  1100.  
  1101.              This parameter controls whether or not you're in the network
  1102.              at all.  Set it to 1, and you are.  If it is set to 0, then
  1103.              you are not (initial setting for our virgin copy).  If you
  1104.              are planning to participate in the network, then please be
  1105.              sure that you understand the section on the #event parameter,
  1106.              because that is what you use to tell your system when to
  1107.              communicate with other systems on the networks.  Also contact
  1108.              the Sysops of the systems you plan to netword and tell them
  1109.              you NODEID and NODETITLE.  You must also arrange the calling
  1110.              and many other parameters.  The Sysops you contact can help
  1111.              you setup this and get it working.  The Aide room will contain
  1112.              messages telling you of problems with your networking.
  1113.  
  1114.      #NETWORK 1                  -- This system participates.
  1115.  
  1116.      #LONG-HAUL
  1117.  
  1118.              This parameter controls whether or not you'll ever call any
  1119.              systems that are long distance from you.  If 1, then you will
  1120.              (if you have any on your list, natch); if 0, then you won't.
  1121.              Naturally, if you never have any systems that are long distance
  1122.              from you in your node list, your system will never call long
  1123.              distance.
  1124.  
  1125.      #LONG-HAUL 1                -- Sure, what da heck
  1126.  
  1127.      #NewNetPrivs
  1128.  
  1129.              This numerical parameter let's you decide if new users should
  1130.              automatically have net privileges or not.  If 1, then they
  1131.              do; 0, they don't.
  1132.  
  1133.      #NewNetPrivs 0                     -- let's be paranoid!
  1134.  
  1135.      #NETAREA
  1136.  
  1137.              This string parameter specifies where all the net files will
  1138.              be located on your system.  The "net files" are CTDLNET.SYS
  1139.              and various temporary files that have the suffixes ML, RFL,
  1140.              and SFL.  NETAREA is just like LOGAREA, MSGAREA, etc., specifying
  1141.              either a relative path name or full pathname.
  1142.  
  1143.      #NETAREA "netstuff"         -- let's put it in a directory called
  1144.                                  -- netstuff.
  1145.  
  1146.      #SHARED-ROOMS
  1147.  
  1148.              This numeric parameter reserves room in each node record for
  1149.              the number of shared rooms you think you'd like to share.
  1150.              Each takes up 6 bytes, so plan according in view of the number
  1151.              of nodes you'll have on your node list and the number of rooms
  1152.              you might want to share with other systems.  If you think you
  1153.              might add rooms later, make this large enough for your plans.
  1154.  
  1155.  
  1156.      #SHARED-ROOMS 4            -- conservative
  1157.  
  1158.      #NET-ARCH-ROOMS
  1159.  
  1160.              This numeric parameter reserves room in each node record for
  1161.              the number rooms that you think you'd like to archive via
  1162.              the network.  Each takes up 6 bytes, so once again plan
  1163.              accordingly.
  1164.  
  1165.      #NET-ARCH-ROOMS 2          -- it's an odd capability
  1166.  
  1167.      #NET_RECEPT_AREA
  1168.  
  1169.              This parameter specifies a directory on your system that will
  1170.              contain all files that are sent to your system by some other
  1171.              system during networking, using the Send File facility (this
  1172.              is not the same as requesting files over the network).  NET_RECEPT_AREA
  1173.              is a string value that does not obey string formatting directives,
  1174.              of course, and it may specify any directory on your system,
  1175.              not just a subdirectory to your current directory.  So, supposing
  1176.              you wanted to specify  Cit:CITADEL/HOLDING as the directory
  1177.              for incoming files from the net, you'd have in your CTDLCNFG.SYS
  1178.  
  1179.      #NET_RECEPT_AREA "Cit:CITADEL/HOLDING" -- that directory
  1180.  
  1181.      #NET_AREA_SIZE
  1182.      #MAX_NET_FILE
  1183.  
  1184.              These two parameters allow you to control how much space you
  1185.              wish to devote to files coming into your system from the net
  1186.              via the Send File command (i.e., other systems sending you
  1187.              files without you asking).
  1188.  
  1189.              NET_AREA_SIZE allows you to tell Citadel how much space to
  1190.              devote to the directory specified in NET_RECEPT_AREA.  When
  1191.              a system attempts to send you a file, Citadel will get the
  1192.              size of the file, and then check to see how much space is
  1193.              already being taken up by files in NET_RECEPT_AREA.  If the
  1194.              difference of NET_AREA_SIZE and the files already in
  1195.              NET_RECEPT_AREA is less than the size of the incoming file,
  1196.              then your system will not accept the file that is being sent
  1197.              to you.  Make this large enough for expected files, but do not
  1198.              exceed the space on the drive/partition.
  1199.  
  1200.              MAX_NET_FILE allows you to control how big a file you will
  1201.              ever accept.  If the size of the file being sent to you exceeds
  1202.              the value you specify here, then your system will not accept
  1203.              the file being sent.
  1204.  
  1205.              Both of these values are in terms of K.  So, for instance,
  1206.              if you only wanted to allow files of up 24K into your system,
  1207.              and only wished to devote up to 44K to NET_RECEPT_AREA, you'd
  1208.              have:
  1209.  
  1210.      #NET_AREA_SIZE 24
  1211.      #MAX_NET_FILE  44
  1212.  
  1213.      #callOutPrefix
  1214.      #callOutSuffix
  1215.  
  1216.             These two parameters control modem dialing during networking.
  1217.             These are both string value parameters that will obey formatting
  1218.             directives, and should be used to convey commands to the modem.
  1219.             When dialing, Citadel constructs a phone number to send to
  1220.             the phone company, and sends the following to your modem:
  1221.  
  1222.      <callOutPrefix><phone#><callOutSuffix>
  1223.  
  1224.             callOutPrefix should alert the modem to dial, while callOutSuffix
  1225.             should do anything necessary to finish the dialing sequence
  1226.             (usually, just send a C/R to the modem).
  1227.  
  1228.             If you have a Hayes modem, we recommend you use the following
  1229.             values for these two parameters.
  1230.  
  1231.      #callOutPrefix "ATDT"            -- Tells a Hayes modem to dial out using
  1232.                                       -- touch tones
  1233.      #callOutSuffix "\r"              -- puts a carriage return at the end
  1234.  
  1235.      #LOCK-PORT
  1236.  
  1237.             This parameter allows you to lock the computer to modem data
  1238.             rate and have Citadel ignore the results code for user
  1239.             connections.  This is used in conjuction with SERIAL_7WIRE
  1240.             when you have a high speed modem.
  1241.  
  1242.      #SERIAL_7WIRE
  1243.  
  1244.             This is a required parameter if you are using a computer to
  1245.             modem data rate that is greater than the user connect rate.  If
  1246.             for example you have an MNP modem and have the computer locked
  1247.             at 9600 baud(See #LOCK-PORT above, you need that too).  This
  1248.             enables the hardware handshaking CTS/RTS.  If you do not do
  1249.             this, users will overrun the modem buffers at slow rates and
  1250.             see garbage.  It is important to note that your system may
  1251.             have problems with high-speed.  Typically the following is
  1252.             a good rule of thumb:
  1253.  
  1254.              System Configuration          |  Baud Rate Maximum
  1255.              ------------------------------+---------------------
  1256.              A500, 512K, 2 Floppies        |  9600
  1257.              A2000, 2 Mbs, HD              | 19.2K
  1258.              A2000, 2 Mbs, HD, Accelerator | 19.2-38.4K
  1259.              A3000                         | 38.4K
  1260.              A4000/030/040                 | 38.4K
  1261.  
  1262.             Basically, for systems with fast modems, set SYSBAUD and
  1263.             LOCKPORT to the same value, and use SERIAL_7WIRE.
  1264.  
  1265.      #SERIALDEVICE
  1266.      #UNITNUMBER
  1267.  
  1268.             These two parameters are of use to those with alternate serial
  1269.             devices, internal modems, third-party serial card.  It allows
  1270.             you to name the device and unit number Citadel should use to
  1271.             communicate with your modem.
  1272.  
  1273.      #alldone
  1274.  
  1275.             This is the last parameter in the ctdlcnfg.sys file.  It tells
  1276.             the CONFG program to finish processing and write the appropriate
  1277.             data files.  When you run a CONFG, the output will echo all your
  1278.             commands and any errors.  Watch it run and answer any questions.
  1279.             After it completes it will write the magic "ctdltabl.sys" file.
  1280.             This file is the controling file of Citadel.  If for some reason
  1281.             it is lost, you will have to run CONFG again.  Now all that remains
  1282.             is to run CTDL in the manner you decide.
  1283.  
  1284.             If CTDL DIDN'T come up, there are a large variety of reasons
  1285.             for the failure.  If your system seemed to make it up but came
  1286.             down relatively gracefully (i.e., left you at the system prompt),
  1287.             check your disks for a file named CRASH. It may give you (or
  1288.             the person you turn to for help!) a hint on what might be wrong.
  1289.             If it seems to think there's an error with a file, perhaps
  1290.             you forgot to configure correctly.  If CTDL itself complains
  1291.             about "no ctdltabl.sys!", then either that file isn't on your
  1292.             default disk when you called CTDL, or CONFG didn't successfully
  1293.             finish.
  1294.  
  1295.             Let's go over exactly what will happen.  When you run CONFG,
  1296.             it should go through CTDLCNFG.SYS.  Once finished, however,
  1297.             it's behavior will differ. It should not ask you if it may
  1298.             create the appropriate directories (since they should already
  1299.             exist), and it should not complain about not being able to
  1300.             find any of your system files (these should still exist, too!).
  1301.             However, it WILL ask you if you wish to erase and initialize
  1302.             your system files.  This time reply N (with vigor!).  CONFG
  1303.             will immediately begin analyzing your data files, and after
  1304.             several minutes, depending on the size of your system, it will
  1305.             produce a CTDLTABL.SYS; your system will be fit to run again.
  1306.  
  1307.             CTDL when run, will process the command line options(see below)
  1308.             and then proceed to eat the CTDLTABL.SYS file.  When it is done
  1309.             you no longer have one!  Not to fear, when you do an orderly
  1310.             shutdown(sysop menu, X option for eXit), it will be re-created.
  1311.  
  1312.      CTDL options
  1313.  
  1314.             The options starting with a "+" are switches that enable/disable
  1315.             some function of citadel.  This is a summary of the supported
  1316.             options:
  1317.  
  1318.             +netlog     -  Citadel will log all network activity in netlog.sys
  1319.             +nochat     -  Citadel will chat with nobody when chat is off.
  1320.             +netdebug   -  Citadel will provide additional info on networking
  1321.             +nomeet     -  Disables the User biographies
  1322.             +noecho     -  Disables the User echo on the console
  1323.             +vortex     -  Enables the vortex detection(default)
  1324.             -vortex     -  Disables the vortex detection
  1325.             +vandaloff  -  Disables the checks for unlogged vandals
  1326.             +conpwd     -  Makes you use the sysop password at your console
  1327.             +noconban   -  controls the system banner at login
  1328.             +CID        -  record modem text(caller id info) to debug.sys
  1329.             +RESULTS    -  record all modem text to debug.sys
  1330.  
  1331.             The other options supply a parameter.  The format is
  1332.             option=parameter.  There are no spaces around the "=".
  1333.  
  1334.             kip         -  Not sure what this is for... Have to look????
  1335.             lowfree=    -  Sets the minimum free space on the upload disks
  1336.             lddelay=    -  Sets the connection time Citadel will wait for
  1337.                            a connect on long distance calls.
  1338.             paranoia=   -  specifies the number of messages a user may leave
  1339.                            in a room.  If exceeded the user is dropped.
  1340.             bps=        -  For use for those sysops using the #ISDOOR parameter
  1341.             zmodem=     -  Flag to control fast transfer enable.
  1342.